package com.zr.dao;


public interface CommonDAO<T> {

	/**
	 * 向数据库添加数据
	 * @param t 待添加的数据对象
	 * @return 受影响的行数
	 * @throws Exception
	 */
	public int insert(T t) throws Exception;

	/**
	 * 通过唯一键删除数据库数据
	 * @param uk 唯一键名
	 * @param ukValue 唯一键值
	 * @return 受影响的行数
	 * @throws Exception
	 */
	public int delete(String uk,String ukValue) throws Exception;
	
	/**
	 * 修改数据库数据
	 * @param t 待修改的数据对象
	 * @return 受影响的行数
	 * @throws Exception
	 */
	public int update(T t) throws Exception;
	
	/**
	 * 根据唯一键查询数据库数据
	 * @param hql 传入查询语句
	 * @param uk 唯一键名
	 * @param ukValue 唯一键值
	 * @return 查询到的数据对象
	 * @throws Exception
	 */
	public T select(String hql,String uk,String ukValue) throws Exception;

	/**
	 * 判断唯一键是否存在
	 * @param uk 唯一键名
	 * @param ukValue 唯一键值
	 * @return true 存在   false 不存在
	 * @throws Exception
	 */
	public boolean exist(String uk,String ukValue) throws Exception;

}
